package com.marktotop.learnone;

import com.marktotop.learnone.service.UserService;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @author WXLD
 * @data 2021/4/17 - 12:10
 */
public class UserController {
    public static void main(String[] args) {
        // 加载配置文件
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        // 不能使用 Object类型
        /* Object userService = context.getBean("userService");*/

        // 使用id 获取 bean，但如果 bean 加了 name 属性，则可以继续通过 id 调用 bean
        // UserService userService = (UserService) context.getBean("userService");


        // 使用 name 值属性获取 bean
        // scope 属性为 prototype 非单例时，在 getBean 时 创建 bean ，每获取一次，创建一次
        // UserService userService1 = (UserService) context.getBean("service1");
        // UserService userService2 = (UserService) context.getBean("service2");
        // userService1.save();
        // userService2.save();


        // bean 的生命周期 init-method 和 destroy-method

        // bean 的对象创建方式
        UserService userService = (UserService) context.getBean("userService");
        userService.save();

    }
}
